/*
 * 代码编辑器
 */
DC.front.CodeEditor = function(params, config) {
	var editor = this;
	
	var parent_path = 'HelloWorld/',
		path = 'HelloWorld',
		file_name = 'Undefined' + DC.front.variable.SYS_TABPANEL_NUM,
		file_type = 'java',
		titleStr = file_name + '.' + file_type,
		idStr = file_name + '_' + file_type
		icon_cls = 'empty',
	    codeStr = 'public class Test {\n'  // 此文件包含的内容
		      + '    public void say() {\n'
		      + '        System.out.println("How are you!");\n'
		      + '    }\n'
			  + '}';
	
	if (params) {
		parent_path = params.parentPath;
		path = params.parentPath.replace(/\//g, '_');
		file_name = params.fileName;
		file_type = params.fileType;
		if (file_type == "") {
			titleStr = file_name;
		} else {
			titleStr = file_name + '.' + file_type;
		}
		if (file_name == "") {
			idStr = file_type;
			titleStr = '.' + file_type;
		} else {
			idStr = file_name + '_' + file_type;
			titleStr = file_name + '.' + file_type;
		}
		icon_cls = params.icon;
		codeStr = params.code;
	}
	
	/*var file_name = _title.substring(0, _title.lastIndexOf('.')); // 文件名称
	var file_type = _title.substring(_title.lastIndexOf('.') + 1, _title.length); // 文件类型
*/	
	var code_editor_id = path + '_' + idStr; // 代码编辑器的id
	var code_toolbar_id = path + '_' + idStr + '_toolbar'; // 代码编辑器工具条的id
	var code_field_id = path + '_' + idStr + '_field'; // 代码编辑器编辑表单的id
	
	// 代码编辑器的工具条
	var code_toolbar = new DC.front.EditorToolbar({
		codeFormPanelId : code_editor_id
	}, {
		id : code_toolbar_id
	});
	
	DC.front.CodeEditor.superclass.constructor.call(this, Ext.apply({
		id : code_editor_id,
		title : titleStr,
		iconCls : icon_cls,
    	region : 'center',
        baseCls : 'x-plain',
        url : 'save-form.php',
        layout : 'fit',
        margins: '0 0 0 0',
		cmargins: '0 0 0 0',
		border: false,
		closable: true, // 允许关闭
        tbar : code_toolbar,
        items : [{
            xtype : 'codepress',
            id : code_field_id,
            name : 'code',
            language : file_type,
            code : codeStr,
            fileName : file_name + '.' + file_type,
            fileType : file_type,
            parentPath : parent_path,
            autoResize : true
        }],
        listeners : {
	        resize : function() {
	        	var iframe = editor.getEl().child('iframe');
	        	if (iframe) { // 待解决的问题，不知道为什么第一次点击tab页是iframe==null
	        		editor.getEl().child('iframe').setHeight(editor.getEl().getHeight()); // 改变代码编辑器的高度
	        		editor.getEl().child('iframe').setWidth(editor.getEl().getWidth()); // 改变代码编辑器的宽度
	        	}
	        }
	    }
    }, config || {}));
};

Ext.extend(DC.front.CodeEditor, Ext.form.FormPanel, {
	
});